linux基于coturn搭建STUN服务器

您所在的位置:网站首页 stun 服务器搭建 linux基于coturn搭建STUN服务器

linux基于coturn搭建STUN服务器

#linux基于coturn搭建STUN服务器| 来源: 网络整理| 查看: 265

背景

基于个人的webRtc视频通讯demo,若要在外网中实现webrtc连接,则必须要有STUN服务器

搭建STUN服务器

基于github项目coturn搭建

参考资料:

b站视频 该视频对应文档 安装coturn需要的依赖。参考文档 $ sudo yum install openssl-devel $ sudo yum install sqlite $ sudo yum install sqlite-devel $ sudo yum install libevent $ sudo yum install libevent-devel $ sudo yum install postgresql-devel $ sudo yum install postgresql-server $ sudo yum install mysql-devel $ sudo yum install mysql-server $ sudo yum install hiredis $ sudo yum install hiredis-devel 下载coturn代码,并安装依赖 cd /opt git clone https://github.com/coturn/coturn.git #下载代码 cd coturn #进入目录 source ./configure make -j 8 sudo make install 执行make install后,找到文件turnserver.conf.default位置

image.png

进入该位置并拷贝一份,命名为turnserver.conf(后续启动服务时候可以指定需要的conf文件) cd /usr/local/etc cp turnserver.conf.default turnserver.conf #拷贝文件,并命名为turnserver.conf 编辑该文件,找到以下字段并编辑 vim turnserver.conf

内网ip:输入ifconfig可获得

listening-ip=${内网IP} relay-ip=${内网IP} external-ip=${外网IP} user=username:password #自己的服务器中用了 user=wfchat:wfchat #下面两个端口均要大于10000 min-port=49152 max-port=65535 启动服务 turnserver -v -r ${公网IP}:3478 -a -o -c /usr/local/etc/turnserver.conf 查看本地是否启动成功(后续还需要在远端查看) ps -ef|grep turn

image.png

关闭服务 关闭单个 kill [pid],如上图中的kill 169693 关闭全部killall turnserver

查看公网中是否部署成功

进入测试网站查看 输入stun:${公网ip}:3478,用户名和密码输入前面配置的user=wfchat:wfchat 当成功部署时,会看到relay与done

image.png

部署失败原因总结 云服务器没有打开对应端口(一般是3478)的防火墙,导致被拦截。需要同时打开TCP与UDP 启动了nginx服务(可能是冲突啥的)。这是我自己遇到的,导致浪费了很多时间排查。将nginx关闭后,再重启turnserver服务,在测试网站中检测就是成功状态了;之后再启动nginx,STUN检测也是成功的。 给自己看的

公网的前端项目,需要/opt/testJs/webRtc-demo,运行npm run service。其中,监听的代码是npm run build之后distClient目录的内容,而不是开发的内容



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3